import ChiVoxSDK from 'chivox';
import $         from 'jquery';

import '../css/chivox-example.css';

let player = null;
let mode   = ChiVoxSDK.MODE.HTML5;
//let mode   = ChiVoxSDK.MODE.FLASH;
let volume = .2;
let showInfo = (text) => {
    var html = $("#status .message").html();
    html = html + text + "<br/>";
    $("#status .message").html(html).scrollTop(10000);
};

$("#btncreate").click(() => {
    if (mode == ChiVoxSDK.MODE.FLASH && !ChiVoxSDK.detect_flash_plugin()) {
        ChiVoxSDK.DIALOG.open_flash_error();
        return;
    }

    if (player) {
        console.warn('player exits already.');
        return;
    }

    player = ChiVoxSDK.createPlayer({
        mode: mode,
        sigurl: '/token',

        onError: (err) => {
            console.warn('[ onError ]:', err);
        },

        onInit: (errno, err) => {
            console.info('[ onInit ]:', errno, err);
            showInfo("Chivox播放器加载成功");
        }
    });
});

$("#btnload").click(() => {
    if (!player) {
        console.warn('create a player first.');
    } else {
        player.load({
            //url: "//download.cloud.chivox.com/59b8da211a48a58c7220397c.mp3",
            url: "/static/How-well-do-you-know-Sunshine-Town-Mr-Chen.mp3",
            success: (code, mesasge) => {
                showInfo("加载音频成功");
            },

            error: (err) => {
                showInfo("加载音频失败，请检查音频地址是否正确，网络连接是否正常。err: " + err);
            }
        });
    }
});

$("#btnplay").click(() => {
    if (!player) {
        console.warn('create a player first.');
    } else {
        player.play({
            position: 0,
            onStart: (code, message) => {},
            onStop: (code, message) => {}
        });
    }
});

$("#btnstop").click(() => {
    if (!player) {
        console.warn('create a player first.');
    } else {
        player.stop();
    };
});

$("#btnsetvolume").click(() => {
    if (!player) {
        console.warn('create a player first.');
    } else {
        player.setVolume(volume);
        showInfo("设置音量为" + volume);

        volume = (volume >= 1) ? .2 : 1;
    };
});

$("#btngetvolume").click(() => {
    if (!player) {
        console.warn('create a player first.');
    } else {
        let v = player.getVolume();
        showInfo("获得音量为" + v);
    };
});

$('#sdkinfo').text(`ChiVoxSDK ver: ${ChiVoxSDK.VERSION}, mode: ${ChiVoxSDK.mode(mode)}`);
